﻿namespace AlgoHero.ModeloAlt
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Input;

    public class Tecla
    {

        private Key key;


        public Tecla(char unaTecla)
        {
            this.key = this.devolverKeyCorrespondiente(unaTecla);
        }

        private Key devolverKeyCorrespondiente(char unaTecla)
        {

            foreach (Key key in Enum.GetValues(typeof(Key)))
            {

                if (key.ToString() == unaTecla.ToString())
                {
                    return key;
                }
            }

            return Key.None;
        }

        public override bool Equals(object obj)
        {
            Tecla otraTecla;

            try
            {
                otraTecla = (Tecla)obj;
                return (this == otraTecla);
            }
            catch
            {
                return false;
            }
        }

        public static bool operator ==(Tecla unaTecla, Tecla otraTecla)
        {
            return ((unaTecla.key == otraTecla.key));
        }
        public static bool operator !=(Tecla unaTecla, Tecla otraTecla)
        {
            return !(unaTecla == otraTecla);
        }




        public Key Key
        {
            get { return this.key; }
        }
    }
}